/**
 * 通用uni-app网络请求
 * 基于 Promise 对象实现更简单的 request 使用方式，支持请求和响应拦截
 */
//import tool from '../tool/tool' // 这个是我自己封装简化一下uni.showToast提示组件，可以不写
export default {
	config: {
		// 请求的公共url
		 baseUrl: "http://localhost:8009/",
		//baseUrl: "http://lll.hhh-ai.com/", // 并非真实接口地址，换成自己的接口地址
		header: {
			// 'Content-Type': 'application/json;charset=UTF-8'
			'Content-Type': 'application/x-www-form-urlencoded',
		},
		data: {},
		method: "GET",
		dataType: "json",
		/* 如设为json，会对返回的数据做一次 JSON.parse */
		responseType: "text",
		success() {},
		fail() {},
		complete() {}
	},
	// 请求拦截器
	interceptor: {
		request: null,
		response: null
	},
	request(options) {
		if (!options) {
			options = {}
		}
		// 获取登录后存储在本地的token信息
		let token = uni.getStorageSync('access_token')
		let requestType = options.url.split('/')
		let typeVal = requestType[requestType.length - 1]
		// console.log(typeVal)
		// if (typeVal !== 'userLogin' && typeVal !== 'register' && typeVal !== 'sendSms') {
		// 	// 判断筛选出以上三个页面不需要为请求头设置token，根据自己的项目情况而定
		// 	this.config.header.Authorization = token
		// } else {
		// 	delete this.config.header.Authorization
		// }
		this.config.header.Authorization = token
		
		// 基于 Promise 的网络请求
	// 	return new Promise((resolve, reject) => {
	// 		uni.showLoading()
	// 		let _config = null
	// 		options.complete = (response) => {
	// 			uni.hideLoading()
	// 			let statusCode = response.statusCode
	// 			response.config = _config
	// 			if (process.env.NODE_ENV === 'development') {
	// 				if (statusCode === 200) {
	// 					// console.log("【" + _config.requestId + "】 结果：" + JSON.stringify(response.data))
	// 				}
	// 			}
	// 			if (this.interceptor.response) {
	// 				let newResponse = this.interceptor.response(response)
	// 				if (newResponse) {
	// 					response = newResponse
	// 				}
	// 			}
	// 			// 结构出code、msg
	// 			let { code, msg } = response.data
	// 			// 请求返回400请求报文存在语法错误时reLaunch到登录页
	// 			if (code === 400) {
	// 				tool.msg(msg)
	// 				setTimeout(() => {
	// 					uni.reLaunch({
	// 						url: '/pages/public/login'
	// 					})
	// 				}, 1000)
	// 				reject(response)
	// 			} else if (code === 0) {
	// 				tool.msg(msg)
	// 				resolve(response.data)
	// 			} else {
	// 				resolve(response.data)
	// 			}
	// 		}
	// 		_config = Object.assign({}, this.config, options)
	// 		_config.requestId = new Date().getTime()

	// 		if (this.interceptor.request) {
	// 			this.interceptor.request(_config)
	// 		}
	// 		uni.request(_config);
	// 	});
	
	},
	// get请求
	// get(url, data, options) {
	// 	if (!options) {
	// 		options = {}
	// 	}
	// 	options.url = url
	// 	options.data = data
	// 	options.method = 'GET'
	// 	return this.request(options)
	// },
	// // post请求
	// post(url, data, options) {
	// 	if (!options) {
	// 		options = {}
	// 	}
	// 	options.url = url
	// 	options.data = data
	// 	options.method = 'POST'
	// 	return this.request(options)
	// },
	// // put请求
	// put(url, data, options) {
	// 	if (!options) {
	// 		options = {}
	// 	}
	// 	options.url = url
	// 	options.data = data
	// 	options.method = 'PUT'
	// 	return this.request(options)
	// },
	// // delete请求
	// delete(url, data, options) {
	// 	if (!options) {
	// 		options = {}
	// 	}
	// 	options.url = url
	// 	options.data = data
	// 	options.method = 'DELETE'
	// 	return this.request(options)
	// }
}
// // 在main.js中引入
// import api from '@/api'
// Vue.prototype.$api = api
